home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / unix / volume6 / vt100tool / part08 < prev    next >
Encoding:
Internet Message Format  |  1986-11-30  |  56.2 KB

  1. Subject: v06i067:  VT100TOOL for Sun's (vt100tool), Part08/10
  2. Newsgroups: mod.sources
  3. Approved: rs@mirror.UUCP
  4.  
  5. Submitted by: linus!ell (Ed Lafferty)
  6. Mod.sources: Volume 6, Issue 67
  7. Archive-name: vt100tool
  8.  
  9. [  I generally dislike posting anything other than source code.  In this
  10.    case, however, I'm making an exception because (a) there's no other
  11.    way to do it; and (b) there is apparently a lot of demand for this
  12.    program.  So, I took the object and data files in the fontdir and
  13.    libdir directories and uuencode'd them.  The decode.sh script in the
  14.    toplevel directory will uudecode them and remove the uu.xxx files;
  15.    it lists the files by name, so you can check if you're missing
  16.    something.  This comment will appear at the beginning of each of the
  17.    postings of this program.  --r$  ]
  18.  
  19.  
  20. #!/bin/sh
  21. # This is a shell archive.  Remove anything before this line,
  22. # then unpack it by saving it in a file and typing "sh file".
  23. # Wrapped by rs@mirror.UUCP on Thu Jul 17 00:21:23 EDT 1986
  24. # Contents:  libdir/uu.ttyvt100.o libdir/uu.vt100keys.o
  25. #    src/ttyvt100.h src/vt100fonts.c vconfig.h vt100tool.1
  26.  
  27. echo x - libdir/uu.ttyvt100.o
  28. sed 's/^XX//' > "libdir/uu.ttyvt100.o" <<'@//E*O*F libdir/uu.ttyvt100.o//'
  29. XXbegin 644 ttyvt100.o
  30. XXM   !!P  (\@   )0        !M@        5N    !!.5O_\0KD     (_D 
  31. XXM "12   D$B/Y   D2@  )!9"KO_\("[__.6 ($#1_     !"D%*N__P,K@  
  32. XXM (3__&WB0J[__" N__SE@"! T?P     <@$@@5"N__P,K@   (3__&W@<@$C
  33. XXMP0    !R B/!     $ZY     $ZY     $AX  5.N0    !83W !3EY.=4Y6
  34. XXM   ,K@    $ #&88(&X " P0  QF#BU\   DL  (<@0M00 ,+RX #"\N  @O
  35. XXM.0    !A"$_O  Q.7DYU3E;_M$C7(, J;@ ,3KD     +"X $"!N  A*J$ L
  36. XXM9@ 0<DJ&;P 0;!X=(#D  "0:#(     *8@ 01M! ,#L !D[[  ( %@U0!1@0
  37. XXM.A Z$#H%& 2L M #O T,0KD  "0F0KD  "0N0KD  "0R0KD  "0J0KD  "0V
  38. XXM0J[__%*N__P@+O_\Y8 @0-'\     $*0#*X    )__QMXA '2(!(P R     
  39. XXM&V(  2+00# [  9.^P "#]@!%@$6 18!%@ \ 18 1 !. &@ X #@ .  R@#Z
  40. XXM 0(!%@$6 18!%@$6 18!%@$6 18!%@$6 0I@  ^>80 4#F  #Y9.N0    !@
  41. XXM  ^,+SD  "06(#D  "024X O &$ #Z!03V  #W(@.0  )!)2@"U __P@+O_\
  42. XXML+D  "16;B;E@"! T?P     2I!G$B\Y   D%B\N__QA  ]F4$]@!E*N__Q@
  43. XXMSB N__RPN0  )%9M  \F+SD  "06+SD  "1680 //E!/8  /$$JY   D7F<6
  44. XXM+SD  "060J=A  \D4$]A !!T8  .\B\Y   D%D*G80 /#E!/8  .X&$ &I!@
  45. XXM  [880 :;F  #M!P 2/    D&F  #L1P(+X ;0 .O" Y   D$K"Y   D5F\2
  46. XXM(#D  "1Z9P  RG(!L(%G  "B(_D  "02     "/\           @>0     0
  47. XXMAU*Y     " Y   D%N. ($#1_       4 " (#D  "06YX@B .N)T($&@   
  48. XXM   @0" Y   D$N. T< @.0  )!;C@") T_P     ,!$"@   __\B.0  )$+A
  49. XXM@="!,(!2N0  )!(@>0    !"$"\Y     $AY     $ZY     %!/8  -_$*Y
  50. XXM   D$B\Y   D%B\Y   D$F$ #@Y03V$ #UY@ /]"$\<  "2F+SD  "162'D 
  51. XXM "2F3KD     4$\@.0  )!;GB"( ZXG0@0:      "! (#D  "16XX#1P" Y
  52. XXM   D%N. (D#3_      P$0*   #__R(Y   D0N&!T($P@&  #7H0!TB 2, ,
  53. XXM@    #!G  "(#(     Q9TP,@    #)G1 R     06<,#(    !"9S1@  "P
  54. XXM0KD     #+D    !   DGF80#+D    "     &9T< )@<@RY     @    !G
  55. XXM\&!B< $CP      ,N0    $  "2>9A ,N0    (     9D)P F! #+D    "
  56. XXM     &?P8#!P B/       RY     0  ))YF$ RY     @    !F$' "8 X,
  57. XXMN0    (     9_!P 2/      $JY   DGF8,2'@ !4ZY     %A/0KD  "0:
  58. XXM8  ,CA '2(!(P R     ,&<  (@,@    #%G3 R     ,F=$#(    !!9PP,
  59. XXM@    $)G-&   +1"N0     ,N0    $  "2>9A ,N0    (     9G1P F!R
  60. XXM#+D    "     &?P8&)P 2/       RY     0  ))YF$ RY     @    !F
  61. XXM0G "8$ ,N0    (     9_!@,' "(\      #+D    !   DGF80#+D    "
  62. XXM     &80< )@#@RY     @    !G\' !(\      #+D    !   DGF8,2'@ 
  63. XXM!4ZY     %A/0KD  "0:8  +GA '2(!(P 2     ,PR     !6(  $[00# [
  64. XXM  9.^P " !( '@ J #8 0@ ,80 /+& P+SD  "0680 3@& B+SD  "0680 4
  65. XXM@& 6+SD  "0680 5@& *+SD  "0680 5S%A/0KD  "0:8  +,G PO@!M,' Y
  66. XXMO@!N*A Y   D*4B 2,#0@"( Y8G0@1('2(%(P="!!(     P(\   "0F8  *
  67. XXM_' [O@!F," Y   D-N6 ($#1_      @N0  )"92N0  )#8C^0  )"8  "0J
  68. XXM0KD  "0F8  *QG _O@!G?"/Y   D)@  )"XC^0  )"H  "0R(#D  "0VY8 @
  69. XXM0-'\     ""Y   D)E*Y   D-DJY   D*F8D2KD  "0F9QP,N0    $  "0V
  70. XXM9A C^0  )"8  "0J0KD  "0F2KD  "0J9@AP 2/    D*DJY   D)F8(< $C
  71. XXMP   )"8,N0    (  "0:9@ $A! '2(!(P R     >&( !$9!^@0P<A&P&%3)
  72. XXM__QF  0VTD$P.Q &3OL  @(> "0 0@!@ 'X G "Z :H"I@"< L0#%@,P BH#
  73. XXM2 0J \@#SB Y   D%I"Y   D*B\ +SD  "0280 )^%!/8  #ZB Y   D%M"Y
  74. XXM   D*B\ +SD  "0280 )VE!/8  #S"\Y   D%B Y   D$M"Y   D*B\ 80 )
  75. XXMO%!/8  #KB\Y   D%B Y   D$I"Y   D*B\ 80 )GE!/8  #D" Y   D*E. 
  76. XXM+P @.0  )"93@"\ 80 05E!/8  #<B Y   D+F<6#(     !9U8,@     )G
  77. XXM  "D8  #5"\Y   D%F$ #[983R\Y   D3B Y   D%E* +P!A  X^4$\O.0  
  78. XXM)$X@.0  )!92@"\ 80 6JE!/2'@ !4ZY     %A/8  ##"\Y   D%B\Y   D
  79. XXM$B\Y   D4F$ #N)/[P ,(#D  "064X O "\Y   D2F$ #>A03R Y   D%E. 
  80. XXM+P O.0  )$IA !944$](>  %3KD     6$]@  *V+SD  "1.+SD  "1*80 -
  81. XXML%!/+SD  "1.+SD  "1*80 6(%!/2'@ !4ZY     %A/8  "@B Y   D+F<4
  82. XXM#(     !9QP,@     )G,F   F8O.0  )!9A  [(6$]@  )6+SD  "06+SD 
  83. XXM "02+SD  "1280 .+$_O  Q@  (X+SD  "06+SD  "02+SD  "1280 .#D_O
  84. XXM  PO.0  )!9A  Z 6$]@  (.< 8CP   )!I@  ("2KD  "0V9A C^0  )"X 
  85. XXM    4KD  "0V0J[__" N__RPN0  )#9L  '8Y8 @0-'\     " 0#(     '
  86. XXM8@  .-! ,#L !D[[  ( $  6 "P +  < "( +  H80 5IF 680 5QF 080 6
  87. XXM F *80 5[& $80 5T%*N__Q@H$AX  =(>0  )+4O.0    !.N0    !/[P ,
  88. XXM8  !:$JY   D+F86(#D  "02Y8 @0-'\     $*08  !2@RY     P  )"YF
  89. XXM  $\0J[__" N__SE@"! T?P     0I!2KO_\#*X   "#__QN  $88-X,N0  
  90. XXM !0  "0N9@ !"' !(\   "1>8   _ RY    %   )"YF  #N0KD  "1>8   
  91. XXMY RY    !0  )"YF&DAX  1(>0  )+TO.0    !.N0    !/[P ,#+D    &
  92. XXM   D+F8  + @.0  )!)2@"\ (#D  "064H O $AY   DPDAN_\!.N0    !/
  93. XXM[P 02&[_P$ZY     %A/+P!(;O_ +SD     3KD     3^\ #&!B80 ''F!<
  94. XXM2KD  "0N9AI(>  42'D  "3++SD     3KD     3^\ # RY     0  )"YF
  95. XXM+DAX !1(>0  ). O.0    !.N0    !/[P ,8!)X<G%N;6QH9V9C2TI(1$-"
  96. XXM03\,N0    (  "0:9@9"N0  )!I"N0  )"9"N0  )"I"N0  )"Y"N0  )#)@
  97. XXM  6T#+D    &   D&F8  D@0!TB 2, ,@    &AG#@R     ;&<  1)@  (@
  98. XXM(#D  "0N4X ,@     AB  (.T$ P.P &3OL  @ 2 @( '@"( )0 K@#, -@ 
  99. XXMY' !(\   "1F8  !YG(!(\$  "1^(_P   "#   D5B\Y   D3B\Y   D2F$ 
  100. XXM"EA03R\Y   D3B\Y   D2F$ $LA03T*Y   D-B/Y   D2@  )#HC^0  )$X 
  101. XXM "0^0J="IV$ !2!03TAX  5.N0    !83V   7QP 2/    D@F   7!*N0  
  102. XXM)(9F  %F<@$CP0  )(9A  R.8  !5G(!(\$  "1:+SD  "0Z+SD  "1280 $
  103. XXMT%!/8  !.' !(\   "1Z8  !+' !(\   "1J8  !(' !(\   "1N8  !%" Y
  104. XXM   D+E. #(     (8@ ! M! ,#L !D[[  ( $@ < $( I@"N ,8 X #H /!"
  105. XXMN0  )&9@  #<< $CP   )'(CP   )'HC^0  )$H  "0Z(_D  "1.   D/F  
  106. XXM +9"N0  )'YR3R/!   D5B\Y   D3B\Y   D2F$ $:Y03R\Y   D3B\Y   D
  107. XXM2F$ "1I03T*Y   D-B/Y   D2@  )#HC^0  )$X  "0^0J="IV$  _103TAX
  108. XXM  5.N0    !83V!00KD  "2"8$@,N0    $  "2&9CQ"N0  )(9A  L48#!"
  109. XXMN0  )%HO.0  )$HO.0  )%)A  .N4$]@%D*Y   D>F .0KD  "1J8 9"N0  
  110. XXM)&Y"N0  )!I"N0  )!I"N0  )"9"N0  )"I"N0  )"Y"N0  )#)"N0  )!I@
  111. XXM  ,^2KD  "0B9RP@.0  )")R()"!+P 0!TB 2,"0@2\ 80 #1%!/0KD  "0B
  112. XXM0KD  "0:8  #"A '2(!(P"/    D(F   OI*N0  )')G  &P(_D  "1*   D
  113. XXM.B/Y   D3@  )#X0!TB 2, $@    #$,@    "EB  %NT$ P.P &3OL  @%2
  114. XXM 5P!8@%B 6(!8@%B 6(!8@%B 6(!. %( 4 !8@%B %0 < ", *@!8@%2 5P 
  115. XXMQ #2 -H _@%B 6(!8@%B 6(!8@%B 6(!8@%B 6(!8@%B 0P!'%.Y   D%B\Y
  116. XXM   D%B\Y   D$F$  GI03V   /12N0  )!8O.0  )!8O.0  )!)A  )>4$]@
  117. XXM  #8+SD  "064KD  "02+SD  "0280 "0E!/8   O"\Y   D%E.Y   D$B\Y
  118. XXM   D$F$  B903V   *!"IT*G80 "&%!/8   DF$  [Q@  "*+SD  "0680 (
  119. XXM9%A/+SD  "1.(#D  "064H O &$ !NQ03V!D+SD  "0680 (0%A/8%9P"B/ 
  120. XXM   D&D*Y   D(F!&2'@  TAY   D]2\Y     $ZY     $_O  Q@*D*Y   D
  121. XXM<F B0KD  "2*8!IP 2/    DBF 0< $CP   )*)@!D*Y   DH@RY     0  
  122. XXM)!IF  %,0KD  "0:8  !0A '2(!(P R     8V(  .!!^@#D<@^P&%3)__QF
  123. XXM  #0TD$P.Q &3OL  @"B (X F #< -P @@"( *P M@ L #0 2@!@ &8 ( "^
  124. XXM< (CP   )!I@  "R80 "9F   *HO.0  )!9"IV$  0!03V$  E!@  "4(#D 
  125. XXM "02Y8 @0-'\     ' !((!@?&$  HI@=DAX  =(>0  )/DO.0    !.N0  
  126. XXM  !/[P ,8%IA  -<8%1A  .:8$YP""/    D&F!$< DCP   )!I@.G '(\  
  127. XXM "0:8#!P 2/    D=F F0KD  "1V8!YA  3X8!A"N0  )!I@$&-;6DU(140^
  128. XXM/3@W,C$I*"-"N0  )"9"N0  )"I"N0  )"Y"N0  )#(,N0    $  "0:9A9"
  129. XXMN0  )!I@#D*Y   D&G "(\      4X9@ .^&+SD  "02+SD  "063KD     
  130. XXM4$\@+@ 03.X@P/^T3EY.=4Y6__P@+@ (L+D  "12;@@M>0  )%( "" N  BP
  131. XXMN0  )%9M""UY   D5@ (("X #+"Y   D.FX6(#D  "06L+D  "0Z;0@M>0  
  132. XXM)#H #" N  RPN0  )#YM%B Y   D%K"Y   D/FX(+7D  "0^  PM>0  )!;_
  133. XXM_$JN  QL!$*N  PC[@ ,   D%B/N  @  "02+RX ""\N  Q.N0    !03R\N
  134. XXM__PO+@ ,3KD     4$].7DYU3E8  $JY   D-F<R#+D    !   D-F<F#+D 
  135. XXM   "   D-F8R(#D  "0FL+D  "0J9B0,N0    $  "0F9A@C^0  )$H  "0Z
  136. XXM(_D  "1.   D/D*G8#X@.0  )":PN0  )"IO." Y   D*E. (\   "0Z(#D 
  137. XXM "0F4X CP   )#Y*N0  )%IG"" Y   D.F "<  O $*G80#^LE!/3EY.=4Y6
  138. XXM   @.0  )!:PN0  )#YG%B Y   D%E* +P O.0  )!)A /Z&8"H@.0  )!:P
  139. XXMN0  )#YF'F%X80 *&" Y   D%E. +P O.0  )!9.N0    !03TY>3G5.5@  
  140. XXM(#D  "06L+D  "0Z9Q8@.0  )!93@"\ +SD  "0280#^+F J(#D  "06L+D 
  141. XXM "0Z9AYA;F$ "JX@.0  )!92@"\ +SD  "063KD     4$].7DYU3E;_^"UY
  142. XXM     /_\+7D     __@C^0  )#H     (_D  "0^     "\Y     "\Y    
  143. XXM &$ ##Y03R/N__P     (^[_^     !.7DYU3E;_^"UY     /_\+7D     
  144. XXM__@C^0  )#H     (_D  "0^     "\Y     "\Y     &$ #6103R/N__P 
  145. XXM    (^[_^     !.7DYU3E8  "/Y   D%@     C^0  )!(     (_D  "1"
  146. XXM     "/Y   DG@     C^0          (_D          $Y>3G5.5@  (_D 
  147. XXM       D%B/Y        )!(C^0       "1"(#D  "1""    &<$80 +"B Y
  148. XXM   D0@@   %G!&$ "SP@.0  )$((   "9P1A  L&(_D        DG@RY    
  149. XXM 0  ))YF$ RY     @    !F$' "8 X,N0    (     9_!P 2/      "/Y
  150. XXM           C^0          2'@ !4ZY     %A/3EY.=4Y6__Q"KO_\0KD 
  151. XXM "1>0KD  "1:<@$CP0  )'I"N0  )!)"N0  )!9"N0  )#IR%R/!   D/B\Y
  152. XXM   D3B\Y   D2F$  2A03R\Y   D3B\Y   D2F$ "9A03R!Y   DJ-'Y   D
  153. XXM5D(H  $@+O_\L+D  "1.;B O $*G80#[[E!/0J<O.0  )*A.N0    !03U*N
  154. XXM__Q@U"!Y   DJ-'Y   D5G)%$4$  4*G0J=A /N\4$].7DYU3E8  $AY    
  155. XXM $ZY     %A/+P!(>0     O.0    !.N0    !/[P ,3EY.=4Y6  !"N0  
  156. XXM)%YR 2/!   D>D*Y   D6D*Y   D?D*Y   D$D*Y   D%D*Y   D0D*Y   D
  157. XXM.G(7(\$  "0^+SD  "1.+SD  "1*83Q03R\Y   D3B\Y   D2F$ "*Y03T*Y
  158. XXM   D<DAX  5.N0    !83R\Y   D%B\Y   D$F$ ^P903TY>3G5.5O_L+7D 
  159. XXM "02__0M>0  )!;_\" Y   D0G($P($M0/_X3KD     ('D  "2LT?D  "16
  160. XXM0B@  2UN  C__" N__RPK@ ,;E8O $*G80#ZL%!/(#D  "164H!L"B Y   D
  161. XXM5E* 8 )P "U _^P@+O_\Y8 @0-'Y     "!0T>[_[$(0("[__.6 ($#1^0  
  162. XXM   @4!%N_^___U*N__Q@H" N  Q2@"\ +RX "$ZY     %!/('D  "2LT?D 
  163. XXM "16<B 100 !2J[_^&<&3KD     +R[_\"\N__1A /HD4$].7DYU3E;_\"Z'
  164. XXM("X #)"N  A2@"X +7D  "02__PM>0  )!;_^$ZY     "/N !   "06('D 
  165. XXM "2L0C!X "\N  @O.0  )*Q.N0    !03R!Y   DK'(@$8%X " Y   D0@@ 
  166. XXM  )G!DZY     "\N__@O+O_\80#YJ%!/+B[_\$Y>3G5.5O_X+RX ""\Y   D
  167. XXM5B\Y   D$F$ _VI/[P ,(#D  "164H B.0  )!*R@&\*(#D  "164H!@!B Y
  168. XXM   D$BU __@@+@ (Y8 @0-'Y     "!0T>[_^$(0("X ".6 ($#1^0     @
  169. XXM4!%N__O__TY>3G5.5O_X+7D  "06__A*N0  )%IG(" N  S0N0  )#HM0/_\
  170. XXML+D  "0^;Q M>0  )#[__& &+6X #/_\(^X "   )!(C[O_\   D%B\N  @O
  171. XXM+O_\3KD     4$\O+O_X+SD  "063KD     4$].7DYU3E8  $Y>3G5.5@  
  172. XXM0J="IT*G2'@ "B\Y     "\Y     "!Y     '  D*@ #"\ ('D     < "0
  173. XXMJ  (+P @>0     O*  $('D     (% @4$Z03^\ )$Y>3G5.5@  0J="IT*G
  174. XXM2'@ "B\Y     "\Y     "!Y     '  D*@ #"\ ('D     < "0J  (+P @
  175. XXM>0     O*  $('D     (% @4$Z03^\ )$Y>3G5.5O_X("X ".. ($#1_   
  176. XXM   "4/_]("X ".. ($#1_     !R08-00J[__" N  CGB"( ZXG0@0:     
  177. XXM "! ("[__.. T< "4/_]("X ".>((@#KB="!!H      ($ @+O_\XX#1P')!
  178. XXM@U!2KO_\#*X   "#__QOLB N  CE@"! T?D     (% 0*/__ H    #_L+D 
  179. XXM "1^2KD  "1^9P1P0F "<"@B.0  )%92@;"!;PH@.0  )%92@& .2KD  "1^
  180. XXM9P1P0F "<"@M0/_X("X ".6 ($#1^0     @4-'N__A"$" N  CE@"! T?D 
  181. XXM    (% 1;O_[__\O+@ (3KD     6$].7DYU3E;_^" N  CC@"! T?P     
  182. XXM E#__B N  CC@"! T?P     <D*#4$*N__P@+@ (YX@B .N)T($&@      @
  183. XXM0" N__SC@-'  E#__B N  CGB"( ZXG0@0:      "! ("[__.. T<!R0H-0
  184. XXM4J[__ RN    @__\;[(@+@ (Y8 @0-'Y     "!0$"C__P*     _["Y   D
  185. XXM?DJY   D?F<$<$)@ G H(CD  "164H&P@6\*(#D  "164H!@#DJY   D?F<$
  186. XXM<$)@ G H+4#_^" N  CE@"! T?D     (%#1[O_X0A @+@ (Y8 @0-'Y    
  187. XXM "!0$6[_^___+RX "$ZY     %A/3EY.=4Y6__P@+@ (XX @0-'\      )0
  188. XXM_[Q"KO_\("X ".>((@#KB="!!H      ($ @+O_\XX#1P )0_[Q2KO_\#*X 
  189. XXM  "#__QOTB\N  A.N0    !83TY>3G5.5O_X("X ".. ($#1_      "4/_\
  190. XXM("X ".. ($#1_     !R0(-00J[__" N  CGB"( ZXG0@0:      "! ("[_
  191. XXM_.. T< "4/_\("X ".>((@#KB="!!H      ($ @+O_\XX#1P') @U!2KO_\
  192. XXM#*X   "#__QOLB N  CE@"! T?D     (% 0*/__ H    #_L+D  "1^2KD 
  193. XXM "1^9P1P0F "<"@B.0  )%92@;"!;PH@.0  )%92@& .2KD  "1^9P1P0F "
  194. XXM<"@M0/_X("X ".6 ($#1^0     @4-'N__A"$" N  CE@"! T?D     (% 1
  195. XXM;O_[__\O+@ (3KD     6$].7DYU3E8  $*Y   DGDAX  5.N0    !83TY>
  196. XXM3G5.5@  <@$CP0  ))Y(>  %3KD     6$].7DYU3E;_^"UY   D.O_\("[_
  197. XXM_+"Y   D/FQPXX @0-'\     " N__Q2@.. (D#3_      PD4*N__@@+O_\
  198. XXMYX@B .N)T($&@      @0" N__CC@-' ("[__%* YX@B .N)T($&@      B
  199. XXM0" N__CC@-/ ,)%2KO_X#*X   "$__AMME*N__Q@A" Y   D/N. ($#1_   
  200. XXM  !*N0  )'YG!' @8 )P #" 0J[_^" Y   D/N>((@#KB="!!H      ($ @
  201. XXM+O_XXX#1P" Y   D/N. (D#3_      PD5*N__@,K@   (3_^&W"3EY.=4Y6
  202. XXM__@M>0  )#[__" N__RPN0  )#IO<.. ($#1_      @+O_\4X#C@") T_P 
  203. XXM    ,)%"KO_X("[__.>((@#KB="!!H      ($ @+O_XXX#1P" N__Q3@.>(
  204. XXM(@#KB="!!H      (D @+O_XXX#3P#"14J[_^ RN    A/_X;;93KO_\8(0@
  205. XXM.0  )#KC@"! T?P     2KD  "1^9P1P(& "<  P@$*N__@@.0  )#KGB"( 
  206. XXMZXG0@0:      "! ("[_^.. T< @.0  )#KC@") T_P     ,)%2KO_X#*X 
  207. XXM  "$__AMPDY>3G5.5O_X+6X "/_\("[__+"N  QN7N. ($#1_     !*N0  
  208. XXM)'YG!' @8 )P #" 0J[_^" N__SGB"( ZXG0@0:      "! ("[_^.. T< @
  209. XXM+O_\XX B0-/\     #"14J[_^ RN    A/_X;<92KO_\8)A.7DYU3E8  $*Y
  210. XXM   D0D*Y     $ZY     $AX  5.N0    !83TY>3G5.5@  <@&#N0  )$)(
  211. XXM>  %3KD     6$].7DYU3E8  '($@[D  "1"3KD     3EY.=4Y6  !R"(.Y
  212. XXM   D0DY>3G5.5@  <@$CP0    !R H.Y   D0DY>3G5.5O_T("X #)"N  @O
  213. XXM " N  A2@"\ +RX "$ZY     $_O  P@+@ ,Y8 @0-'Y     "U0__A"KO_\
  214. XXM("[__+"Y     &X0(&[_^-' <B 0@5*N__Q@Y" Y   D5E* ; H@.0  )%92
  215. XXM@& "<  M0/_T("X #.6 ($#1^0     @4-'N__1"$" N  SE@"! T?D     
  216. XXM(% 1;O_W__\@+@ (4H B.0    !.N0     @>0    "0J  ,+P @.0  )%(B
  217. XXM.0    !.N0     @>0    "0J  (+P @>0     O*  $2'@ &" N  R0K@ (
  218. XXM(CD     3KD     +P O.0     @+@ ((CD     3KD     ('D     D*@ 
  219. XXM#"\ (#D  "12(CD     3KD     ('D     D*@ ""\ ('D     +R@ !"!Y
  220. XXM     "!0(%!.D$_O "0O+@ ,+SD     +SD     3KD     3^\ #$Y>3G5.
  221. XXM5O_P("X #)"N  @O " N  Q3@"\ +RX #&$  59/[P ,("X ".6 ($#1^0  
  222. XXM   M4/_T0J[__" N__RPN0    !N$"!N__31P'(@$(%2KO_\8.0@.0  )%92
  223. XXM@&P*(#D  "164H!@ G  +4#_\" N  CE@"! T?D     (%#1[O_P0A @+@ (
  224. XXMY8 @0-'Y     "!0$6[_\___("X ""(Y     $ZY     "!Y     )"H  PO
  225. XXM " Y   D4B(Y     $ZY     "!Y     )"H  @O "!Y     "\H  1(>  8
  226. XXM("X #)"N  @B.0    !.N0     O "\Y     " N  A2@"(Y     $ZY    
  227. XXM "!Y     )"H  PO " Y   D4B(Y     $ZY     "!Y     )"H  @O "!Y
  228. XXM     "\H  0@>0     @4"!03I!/[P D+RX ""\Y     "\Y     $ZY    
  229. XXM $_O  Q.7DYU3E8  " N !!3K@ 02H!G'B N  Q3K@ ,+P @+@ (4ZX ""\ 
  230. XXM3KD     4$]@UDY>3G5.5O_80B[_YW(D'4'_XW(&+4'_WDJN_]YO1! N_^/1
  231. XXM+O_G("[_WN6((@#EB="!Y8G0@7)D3KD     +4#_VAVN_^<(^" N_]H=KO_G
  232. XXM"/ @+O_:':[_YPCH4Z[_WF"V'7P ___X'7P ___P'7P ___H0B[__T(N__="
  233. XXM+O_O2&[_Z$AN__!(;O_X2'@ "$*G('D     +R@ !"!Y     "!0(&@ )$Z0
  234. XXM3^\ &' (3EY.=0  )5HE)4TE("5))2 E124@0V]P>7(@,3DX-2!-251212!#
  235. XXM;W)P+@                                                      
  236. XXM                                                         !< 
  237. XXM                   7         $\                             
  238. XXM                                            !0    @    0    
  239. XXM"@          8P   "4$   ECAM;,DH &UL_,3LP8P ;6S!N !M;)74[)752
  240. XXM !M;,CLQ.S$[,3$R.S$Q,CLQ.S!X !M;,SLQ.S$[,3$R.S$Q,CLQ.S!X !LO
  241. XXM6@ ;6S\Q.S!C     $5%145%145%145%145%145%145%145%145%145%145%
  242. XXM145%145%145%145%145%145%145%145%145%145%145%145%145%145%145%
  243. XXM145%145%145%145%145%145%145%145%145%145%145%145%145%145%145%
  244. XXM145%145%145%145%145% " @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  245. XXM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  246. XXM(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
  247. XXM(" @(" @(" @(" @(" @(         8  &]0    #   !D     0   &0   
  248. XXM !8   9     &@  !D     L  ![4    $X  'M0    :   0E    !P  !&
  249. XXM4    '8  !Y0    ?   #E    "&  "$4    *P   9     P@  @%    #>
  250. XXM  !=4    /P   9    !+   !D    $R   &0    3@   9    !/@  !D  
  251. XXM  %$   &0    5H  #E0   !R@  "%    '4   &0    =H   9    ![@  
  252. XXM!D    '^   &0    @H  'M0   "%   !D    (P   &0    CH   9    "
  253. XXM0   !D    )0   &0    E@   9    ";@  !D    *2   &0    J0   9 
  254. XXM   "J@  !D    *R   &0    L0   9    "R   C5    +.  !14    M( 
  255. XXM &90   "V   9E    +@  !F4    N8   9    "\   -E    +Z   &0   
  256. XXM P@  '50   #$   !D    ,:   &0    R0  #90   #,@  !D    ,^   &
  257. XXM0    T0  &90   #3   C5    -2  !14    U@  #!0   #9   !D    -J
  258. XXM   &0    W    9    #A   !D    .*   &0    Y    9    #E@  ,%  
  259. XXM  .>   &0    ZP  '50   #M   !D    .^   &0    \@  #90   #U@  
  260. XXM!D    0:  !"4   !"0   9    $,   1E    1   !"4   !$P  $)0   $
  261. XXM5@  !D    1B  !&4   !'(  $)0   $?@  0E    2(   &0   !)0  $90
  262. XXM   $I   0E    2N  "/4   !+0   9    $P   A%    3(   &0   !08 
  263. XXM $90   %$   !D    4<  !&4   !2P  $)0   %.   1E    5"   &0   
  264. XXM!4X  $90   %7@  0E    5J  !&4   !70   9    %@   1E    60  !"
  265. XXM4   !9H  (]0   %I   !D    6P  "$4   !;@   9    %]   !D    8 
  266. XXM   &0   !@P   9    &&   !D    8D   &0   !CH   9    &6@  !D  
  267. XXM  9J   &0   !G0  #E0   &>@  !D    :    &0   !H8   9    &B@  
  268. XXM!D    :0   &0   !J    9    &I   !D    :J   &0   !JX   9    &
  269. XXMM   !D    :^   Y4   !L0   9    &R@  !D    ;0   &0   !M@   9 
  270. XXM   &Y   !D    ;L   &0   !O    9    &]@  !D    ;\   &0   !P8 
  271. XXM  9    '#   !D    <6   &0   !R    9    '>   !D    =^   &0   
  272. XXM!X8   9    'E@  !D    ><   &0   !Z0   9    'M   !D    >Z   &
  273. XXM0   !\    9    'T@  !D    ?8   &0   !]X   9    '\   !D    ?Z
  274. XXM   &0   " X   9    (+   !D    @X   &0   "#X   9    (3@  !D  
  275. XXM  A4   &0   "&@  (10   (=   !D    AZ   &0   "(    9    (C@  
  276. XXM!D    B8   &0   "*0   9    (K@  !D    B^  "$4   ",H   9    (
  277. XXMT   !D    C<   &0   ".(   9    (\@  A%    C^   &0   "1H   9 
  278. XXM   )*@  !D    DP   &0   "38   9    )2   !D    E.   &0   "50 
  279. XXM  9    )8@  !D    ET   &0   "7X   9    )A@  !D    F*   Y4   
  280. XXM"9    9    )G@  !D    FL   Y4   "?X   9    *!   @%    H*  !W
  281. XXM4   "A@   9    *(   !D    HJ  ![4   "CH   9    *4   >U    IN
  282. XXM   &0   "GH   9    *B   !D    J2   &0   "J    9    *K   !D  
  283. XXM  JR  " 4   "K@  '=0   *Q@  !D    K0   &0   "MH   9    *Y   
  284. XXM!D    KN  !74   "OP  (50   +"@  @%    L0  !W4   "R(   9    +
  285. XXM+@  !D    LT  " 4   "SH  '=0   +2   !D    M4   &0   "UH  (!0
  286. XXM   +8   =U    N"   &0   "XH   9    +D   !D    N6   &0   "YP 
  287. XXM  9    +H@  !D    NP   &0   "]8   9    ,!@  !D    P2   &0   
  288. XXM#!P   9    ,(@  !D    PH   &0   ##0   9    ,.@  !D    Q&   &
  289. XXM0   #$P   9    ,4   !D    Q6   &0   #%H   9    ,;@  A%    Q\
  290. XXM   &0   #(8   9    ,D@  !D    RB   &0   #*@   9    ,K@  !D  
  291. XXM  S    &0   #,P   9    ,V   !D    SB   &0   #1    9    -'   
  292. XXM!D    TB   &0   #2@   9    -+   !D    TR   &0   #38   9    -
  293. XXM0   !D    U(   &0   #4X   9    -5   !D    U@   &0   #68   9 
  294. XXM   -<@  !D    UX   &0   #7P   9    -@@  !D    V&   &0   #9H 
  295. XXM (10   -I   !D    VP   &0   #;@   9    -Q   !D    W*   &0   
  296. XXM#=    9    -W@  !D    WF   &0   #>X   9    -]   !D    WZ   &
  297. XXM0   #@    9    .!@  !D    X,   &0   #A(   9    .&   !D    XB
  298. XXM   &0   #BH   9    .1@  !D    Y,   &0   #EP   9    .9@  !D  
  299. XXM  YP   &0   #G0   9    .>@  !D    Y^   &0   #O@   9    ._@  
  300. XXM!D    \$   &0   #Q0   9    /&@  !D    \@   &0   #S    9    /
  301. XXM-@  !D    \\   &0   #TP   9    /4@  !D    ]8   &0   #WX   9 
  302. XXM   /B@  !D    ^0   &0   #Z(   9    /L@  !D    ^X   &0   #\0 
  303. XXM  9    /R@  @%    _0  !W4   #]P   9    /Y   !D    _N   &0   
  304. XXM#_@   9    0    !D   ! *   &0   $!0   9    0:@  !D   !!\   &
  305. XXM0   $)(   9    0G   >U   !"R   &0   $+@  (!0   0O@  =U   !#8
  306. XXM   &0   $.(   9    0[   !D   !#V   &0   $/X   9    1#   !D  
  307. XXM !$D   &0   $2H   9    1,   !D   !$V   &0   $4    9    12   
  308. XXM!D   !%0   &0   $5@   I0   19   !D   !%J   &0   $7   %I0   1
  309. XXMC@  !D   !&6   &0   $:(   9    1J@  !D   !&V   &0   $;X   9 
  310. XXM   1Q   !D   !',   &0   $=@   9    1X   !D   !'F   &0   $>X 
  311. XXM  9    1]@  !D   !(*   &0   $A(   9    2(   55   !(P  !B4   
  312. XXM$D    9    23   !D   !)8   &0   $F    9    29@  !D   !)R   &
  313. XXM0   $GH   9    2?@  !D   !*$   &0   $H@   9    2D@  !D   !*8
  314. XXM   &0   $J    9    2J   !D   !*N   &0   $K8   9    2O   !D  
  315. XXM !+$   &0   $N    9    2Y@  !D   !+N   &0   $O@   9    3!   
  316. XXM!D   !,*   &0   $Q@   9    3(@  !D   !,H  !B4   $S@   9    3
  317. XXM/@  !D   !-&   &0   $U    9    37   !D   !-B   &0   $W    9 
  318. XXM   3>@  !D   !.   !B4   $Y   "Y0   3F   (U   !.@   &0   $Z0 
  319. XXM "Y0   3J@  !D   !.N   C4   $[0  "-0   3N@  +E   !/(   N4   
  320. XXM$]   "-0   3W@  +E   !/F   C4   $^X   9    3\@  +E   !/X   &
  321. XXM0   $_P  "-0   4 @  (U   !0(   N4   %!8  "Y0   4'@  (U   !0L
  322. XXM   &0   %#   !10   4-@  !D   !0Z   G4   %$    9    41   &E  
  323. XXM !1*   &0   %$X   10   45   0E   !18  !Y4   %%X  $90   48@  
  324. XXM>E   !1P   44   %'0   9    4>@  )U   !1^   &0   %(0  !I0   4
  325. XXMB   !D   !2.   &0   %)X   9    4K@  !D   !2^   $4   %,(   9 
  326. XXM   4S   !D   !38  !&4   %.@  $)0   4\@  CU   !3X  !Y4   %/P 
  327. XXM $)0   5 @  >E   !4&  !&4   %1   (10   5)   !D   !4J   &0   
  328. XXM%3(   9    5.   !D   !4^   &0   %40   9    53   !D   !52   &
  329. XXM0   %5@   9    59   !D   !5J   &0   %78   9    5?   !D   !6*
  330. XXM   &0   %9X   9    5I   ,%   !6R   &0   %;@   9    5U@  :U  
  331. XXM !7<  "%4   %>8  &M0   5[   @%   !7R  !W4   %@0   9    6#   
  332. XXM!D   !82   &0   %A@   9    6'@  !D   !8D   &0   %BH   9    6
  333. XXM,   !D   !8X   &0   %CX   9    61   !D   !9.   &0   %E0   9 
  334. XXM   68   !D   !9J  "$4   %G(   9    6>   !D   !:,   &0   %I0 
  335. XXM  9    6G   !D   !:J   Q4   %K    9    6M@  !D   !;:   &0   
  336. XXM%N0   9    6_   $E   !<2   24   %S(  "]0   7.@  !D   !=    &
  337. XXM0   %U(  'Y0   7?   !D   !>$   &0   %XP  #%0   7E   !D   !>:
  338. XXM   &0   %Z@   9    7K@  ,%   !>V   &0   %\(   9    7S@  ?E  
  339. XXM !?R   &0   %_@   9    8!@  !D   !@.   &0   &!@   9    8(@  
  340. XXM!D   !@T   24   &$H  !)0   88   !D   !AH   &0   &'0   9    8
  341. XXM?@  !D   !B&   &0   &)@   9    8H   !D   !BN  !54   &+H   9 
  342. XXM   8P   8E   !CB  !R4   &.@  %)0   8[@  %E   !C\   64   &0H 
  343. XXM !90   9%   %E   !DV  !R4   &3P  %)0   90@  %E   !E0   64   
  344. XXM&5X  !90   9:   %E   !F(   V4   &9H  #90   9M   =5   !G4  !U
  345. XXM4   &?X  !)0   :$   !D   !H6   &0   &B0   9    :,   !D   !HZ
  346. XXM   &0   &E0  !)0   ::@  $E   !I\  "(4   &I0  #90   :I@  -E  
  347. XXM !K   !U4   &N   '50   ;"@  $E   !L<   &0   &R(   9    ;,   
  348. XXM!D   !L\   &0   &T8   9    ;8   $E   !MV   24   &X@  (A0   ;
  349. XXMH   -E   !NZ  !U4   &^   (A0   ;^   -E   !P*   V4   '"0  '50
  350. XXM   <1   =5   !QN   24   '(    9    <A@  !D   !R4   &0   '*  
  351. XXM  9    <J@  !D   !S$   24   '-H  !)0   <[   B%   !S\   &0   
  352. XXM'08  (10   =&   !D   !TB  "$4   '3(   9    =/@  !D   !U*   V
  353. XXM4   '5H  #90   =<@  =5   !V0  !U4   ';8   9    =P   -E   !W&
  354. XXM   &0   '=H   9    =Z   =5   !WX   &0   '@(  #90   >(   !D  
  355. XXM !XL   &0   'C@  #90   >2   -E   !Y@  !U4   'GX  '50   >I   
  356. XXM!D   !ZN   V4   'K0   9    >R   !D   ![6  !U4   'N8   9    >
  357. XXM\   -E   !\B   V4   'R@   9    ?2   =5   !]@   V4   'X0   9 
  358. XXM   ?B@  ;U   !^0   Q4   'YH  (10   ?K   !D   !^V  "$4   '\@ 
  359. XXM  9    ?S@  ?E   !_>   &0   '^X  &]0   ?]@  !D   " :  !%4   
  360. XXM("P  !)0   @/@  5%   "!6   &0   (&    9    @>   $E   "".   2
  361. XXM4   (*(  ']0   @J    U   ""N   64   (+H   9    @P   3U   "#&
  362. XXM   #4   (,P  !90   @V   %E   "#N  !_4   (/0   -0   @_   4E  
  363. XXM "$&  !_4   (0P   -0   A$@  %E   "$>   &0   (20  $]0   A*@  
  364. XXM U   "$P   64   (3P  !90   A1@  %E   "%:  !44   (6   'U0   A
  365. XXM9@  :5   "&>   24   (;   %10   AR   !D   "'2   &0   (>H  !)0
  366. XXM   B    $E   "(2  !_4   (A@   -0   B'@  %E   "(J   &0   (C  
  367. XXM $]0   B-@   U   "(\   64   (D@  !90   B7@  ?U   ")D   #4   
  368. XXM(FP  %)0   B>   ?U   ")^   #4   (H0  !90   BD   !D   "*6  !/
  369. XXM4   (IP   -0   BH@  %E   "*N   64   (K@  !90   BS   5%   "+2
  370. XXM  !]4   (M@  &E0   C"@  D%   "-,  !94   (Z8  !90   CL   %E  
  371. XXM  #@   &0    .0   9     ! 4      !\(    $ <      "1:    '0< 
  372. XXM     "2H    )@$             + $        $    -@<      "2>    
  373. XXM108      "/(    304      !4:    5@$             8P<      "2&
  374. XXM    ;P$        $    =P<      "1*    ?04      !N2    B@4     
  375. XXM !OJ    E0$             GP4      !/8    K 4      !_F    M@< 
  376. XXM     "2F    OP$        $    Q@<      "0J    RP$        $    
  377. XXMU0<      "06    W@$             Z@<      "1&    \@4      !T0
  378. XXM    _0<      "1V   !# $        $   !$P4      !_    !'P4     
  379. XXM !+:   !)@4      !.*   !,0$            !/ 4            !1@4 
  380. XXM     !X:   !5@<      "2"   !90<      "0^   != $        $   !
  381. XXM? <      "0B   !@ 4      !:&   !BP<      "1>   !E $        $
  382. XXM   !G@4      !_^   !J0<      "02   !L@4       "2   !O0$     
  383. XXM  0    !Q0$        $   !S@<      "0Z   !V@$        $   !WP$ 
  384. XXM           ![0$            !_P$            "!P<      "0>   "
  385. XXM#P<      "0N   "%P<      "2B   "(0<      "2L   "*0$        P
  386. XXM   ", 4      !=H   ".@<      "1N   "10$        H   "2@<     
  387. XXM "0F   "3@<      "/V   "5@<      "/R   "7@<      "/^   "9@< 
  388. XXM     "/Z   ";@<      "0"   "=@<      "0&   "?@<      "0*   "
  389. XXMA@$        $   "B@<      "0.   "D@4      "+D   "H $         
  390. XXM   "K0$        $   "L0<      "1"   "NP$        $   "QP$     
  391. XXM  "$   "S 4      !_6   "U@<      "2:   "[@<      "26   "_@< 
  392. XXM     "22   ##0<      "2.   #' $        $   #)@4      !7^   #
  393. XXM+0$       $L   #.@$        $   #10<      "1.   #3@$        $
  394. XXM   #50$            #6P<      "/N   #8@$            #:P4     
  395. XXM !(Z   #?@$            #A $            #D 4      !1J   #H 4 
  396. XXM     !0F   #K0$            #NP<      "1^   #QP4      "%R   #
  397. XXMT@4      !70   #W@<      "1F   #Z $            #]0<      "0:
  398. XXM   #_ <      "1J   $! <      "12   $"P$        $   $%0<     
  399. XXM "16   $'0<      "1Z   $(P$            $+P4      !SV   $.@$ 
  400. XXM       ?   $2@$        $   $60<      "1B   $8 <      "0R   $
  401. XXM:0$        $   $=0<      "0V   $?04      !^D   $A@$        $
  402. XXM   $D@4      !&$   $EP4      !J&   $I $      !C    $L04     
  403. XXM !TL   $OP$            $S 4      !?H   $TP$        $   $V $ 
  404. XXM       $   $W0$       (0   $YP<      "1R   $\0$        $   $
  405. XXM]P$            $_0$        $   %" $            %$ 4      !,R
  406. XXM   %& 4      !C2   %*P4      !DF   %/@$            %2 $     
  407. XXM       %4 4      ",6   %9P<      "2*   %=@$            %?P4 
  408. XXM     !A:   %B 4      !C*   %C@4      !]^   %EP4       #0   %
  409. XXMI0$        $   %LP$        $   %O@$        $   %R0$         
  410. XXM   %SP4      !EZ   %V5]C;&5A<DUA<FMS %]O<FEG:6Y?;6]D90!?97-T
  411. XXM<FEN9P!L;75L= !?;V-H87)S970 7V%C=&EV94-H87)S970 7W-C8W-I9 !?
  412. XXM17-C<F5E;@!?8FQI;FMS8W)E96X 7W)E=E]S8W)E96X 7V-U<G-O<@!?=G1O
  413. XXM< !?8VQE87)?=VED=&@ 7VUA<FM?=VED90!?:6YI=%]K8F0 7W-C<F]L;%]D
  414. XXM;W=N %]5;F1E<E]O;@!?8VAA<E-T<@!?:6UA9V4 7V%C, !?;V-U<G-R;W< 
  415. XXM7V-U<G-R;W< 7V-S<E]P:7AW:6X 7W)E<&]R= !?1S%?<V5L96-T %]A<'!L
  416. XXM7VME>5]A;G-I %]O8F]L9 !?4F5V97)S95]O;@!?26YD97@ 7W-C<F]L;%]U
  417. XXM< !?:6UA9V5I;FET %]A;G-I:6YI= !?<VAI9G1-87)K<T1O=VX 7W-M;V]T
  418. XXM:%]S8W)O;&P 7W-C<F]L;%]B;W1T;VT 7V)O='1O;0!?=FP 7V1E;%]L:6YE
  419. XXM<P!?;F5W;&EN90!?;V-U<G-C;VP 7W-C<F]L;#%U< !?8W5R<V-O; !?9V9X
  420. XXM<W1R:6YG %]?<V]B=68 7W!I>&9O;G0 7W-C<F]L;%]T;W  7W1O< !?<&-L
  421. XXM96%R<V-R965N %]W<FET95!A<G1I86Q,:6YE %]N;V)O;&0 7W-T871E,0!?
  422. XXM86-I;FET %]G<F%P:%\U,@!?8FQA;FMS %]M87)K<P!?9&5L7V-H87( 7VEN
  423. XXM=&5R;&%C90!?86-M %]A8P!?9&5B=6<Q %]D96)U9S( 7V1E8G5G,P!?9&5B
  424. XXM=6<T %]D96)U9S4 7V1E8G5G-@!?9&5B=6<W %]G, !?9&5B=6<X %]S=V%P
  425. XXM;G)E9VEO;G, 7W-W87!R96=I;VYS %]G,0!?9FEL;&9U;F, 7V-H87)"=69-
  426. XXM87@ 7V)U9@!?0FQI;FM?;VX 7W1W96QV95]T96YT:'-?8VAR=VED=&@ 7W1W
  427. XXM:6-E7V-H<G=I9'1H %]F=6QL7V-H<G=I9'1H %]H86QF7V-H<G=I9'1H %]C
  428. XXM:')W:61T: !?<F5S970 7V%N<VE#:&%R0G5F %]W:6YW:61T:'  7W9B;W1T
  429. XXM;VT 7W)I9VAT %]V<&]S %]D96)U9P!?<W!R:6YT9@!?<V5T7W-C<F]L;%]R
  430. XXM96=I;VX ;&1I=G0 7V1R87=#=7)S;W( 7U)E<W1O<F5?8W5R<V]R %]3879E
  431. XXM7V-U<G-O<@!?<F5M;W9E0W5R<V]R %]B:6=?<V-R965N %]S8W)O;&PQ9&X 
  432. XXM7V%N<W=E<F)A8VL 7V-U<G-?:V5Y %]C:&5C:U]M87)K<P!?<W1A=&4 7W)E
  433. XXM<&5A= !?=FQE9G0 7V-H87).97AT %]V<FEG:'0 7W=R87  7W!C;&5A<FQI
  434. XXM;F4 7T<P7W-E;&5C= !?86YS=V5R7VUE<W-A9V4 7V1E;&%Y<&%I;G1I;F< 
  435. XXM7VQO8V%L %]A8VEN:70P %]U;F1E<G-C;W)E %]A8U]N=6T 7T)O;&1?;VX 
  436. XXM7W=I;FAE:6=H='  7W!O<P!?;6%R:U]B;W1T;VT 7W)E9FQE8W1I;VYS %]S
  437. XXM:&EF=$UA<FMS57  7W1T>7-W7VEN<'5T %]C;&5O; !?;V<P %]O9S$ 7W1A
  438. XXM8D%R<F%Y %]V=#4R;6]D90!?;&5F= !?8F]L9 !?8VAR:&5I9VAT %]?='1Y
  439. XXM<W< 7U)I;F1E> !?<'=H:71E7V)A8VMG<F]U;F0 7W!B;&%C:U]B86-K9W)O
  440. XXM=6YD %]S971?9F]N= !?<W1R;&5N %]S971U<&9U;&QG<F%Y8V]L;W)M87  
  441. XXM7V%L=%]K97EP861?-3( 7W)E=W)I=&4 7V%B<U]P;W, 7W1R87  7T%L;%]O
  442. XXM9F8 7W1T>7-W7V]U='!U= !?8W5R<V-O;%-T87)T %]B;VQD7VYO<FT 7V=R
  443. XX8869?;F]R;0!?<W=A< !?;6%R:U]T;W  
  444. XX 
  445. XXend
  446. @//E*O*F libdir/uu.ttyvt100.o//
  447. chmod u=rw,g=rw,o=rw libdir/uu.ttyvt100.o
  448.  
  449. echo x - libdir/uu.vt100keys.o
  450. sed 's/^XX//' > "libdir/uu.vt100keys.o" <<'@//E*O*F libdir/uu.vt100keys.o//'
  451. XXbegin 644 vt100keys.o
  452. XXM   !!P  "F0   8,         ;         %6    L!.5O_X0J[__$*N__@M
  453. XXM>0    #_^$JY     &8,(#D     5( M0/_X2KD     9PY*N0    !G!G #
  454. XXM+4#__$JY     &<.2KD     9@9P 2U __Q*N0    !F#DJY     &<&< 0M
  455. XXM0/_\2KD     9@Y*N0    !F!G "+4#__" N  @$@   ?RL,@    "=B  =2
  456. XXMT$ P.P &3OL  @!4 %0 5 !4 %0 5 !4 %0 5 =&!T8'1@=&!T8'1@!> +(!
  457. XXM!@%: :X" @)6 JH"_@-2 Z8#^@1.!*($]@=&!5(%7 5F!:0%X@8@!EX&L@;\
  458. XXM8  &^B \   -6&  !O @+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( 
  459. XXM'  F(#P   U98  &Q" \   -7&  !KH@/   #6!@  :P(#P   UC8  &IB \
  460. XXM   -9V  !IP@+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P 
  461. XXM  UH8  &<" \   -:V  !F8@/   #6]@  9<(#P   UR8  &4B \   -=F  
  462. XXM!D@@+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   UW8  &
  463. XXM'" \   ->F  !A(@/   #7Y@  8((#P   V!8  %_B \   -A6  !?0@+O_\
  464. XXM4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   V&8  %R" \   -
  465. XXMB&  !;X@/   #8I@  6T(#P   V.8  %JB \   -DF  !: @+O_\4X ,@   
  466. XXM  -B   \T$ P.P &3OL  @ ( !( '  F(#P   V38  %=" \   -E6  !6H@
  467. XXM/   #9=@  5@(#P   V;8  %5B \   -GV  !4P@+O_\4X ,@     -B   \
  468. XXMT$ P.P &3OL  @ ( !( '  F(#P   V@8  %(" \   -HF  !18@/   #:1@
  469. XXM  4,(#P   VH8  % B \   -K&  !/@@+O_\4X ,@     -B   \T$ P.P &
  470. XXM3OL  @ ( !( '  F(#P   VM8  $S" \   -KV  !,(@/   #;%@  2X(#P 
  471. XXM  VU8  $KB \   -N6  !*0@+O_\4X ,@     -B   \T$ P.P &3OL  @ (
  472. XXM !( '  F(#P   VZ8  $>" \   -O&  !&X@/   #;Y@  1D(#P   W"8  $
  473. XXM6B \   -QF  !% @+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F
  474. XXM(#P   W'8  $)" \   -R6  !!H@/   #<M@  00(#P   W/8  $!B \   -
  475. XXMTV   _P@+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   W4
  476. XXM8  #T" \   -UF   \8@/   #=A@  .\(#P   W<8  #LB \   -X&   Z@@
  477. XXM+O_\4X ,@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   WA8  #?" \
  478. XXM   -XV   W(@/   #>5@  -H(#P   WI8  #7B \   -[6   U0@+O_\4X ,
  479. XXM@     -B   \T$ P.P &3OL  @ ( !( '  F(#P   WN8  #*" \   -\&  
  480. XXM QX@/   #?)@  ,4(#P   WV8  #"B \   -^F   P @+O_\4X ,@     -B
  481. XXM   \T$ P.P &3OL  @ ( !( '  F(#P   W[8  "U" \   -_6   LH@/   
  482. XXM#?]@  + (#P   X#8  "MB \   .!V   JP@+O_\4X ,@     -B   \T$ P
  483. XXM.P &3OL  @ ( !( '  F(#P   X(8  "@" \   ."F   G8@/   #@Q@  )L
  484. XXM(#P   X08  "8B \   .%&   E@@+O_\4X ,@     -B  !$T$ P.P &3OL 
  485. XXM @ (  @ )  N2KD     9PH@/   #A5@  (D(#P   X88  "&B \   .&F  
  486. XXM A @/   #AY@  (&(#P   XB8  !_" \   .(V   ?(@/   #B1@  'H("[_
  487. XXM^'(!L(%G%G("L(%G&G(#L(%G'B \   .,&   <@@/   #B5@  &^(#P   XH
  488. XXM8  !M" \   .+&   :H@+O_X<@&P@6<6<@*P@6<:<@.P@6<>(#P   X\8  !
  489. XXMBB \   .,6   8 @/   #C1@  %V(#P   XX8  !;" N__AR ;"!9Q9R K"!
  490. XXM9QIR ["!9QX@/   #DA@  %,(#P   X]8  !0B \   .0&   3@@/   #D1@
  491. XXM  $N("[_^'(!L(%G%G("L(%G&G(#L(%G'B \   .5&   0X@/   #DE@  $$
  492. XXM(#P   Y,8   ^B \   .4&   / @+O_\4X ,@     -B   \T$ P.P &3OL 
  493. XXM @ ( !( '  F(#P   Y58   Q" \   .6&   +H@/   #EQ@  "P(#P   Y?
  494. XXM8   IB \   .8V   )P@+O_\4X ,@     -B   TT$ P.P &3OL  @ ( !  
  495. XXM&  @(#P   YD8' @/   #F9@:" \   .:&!@(#P   YL8%@@/   #G!@4" N
  496. XXM__Q3@ R      V(  #300# [  9.^P "  @ $  8 " @/   #G%@)B \   .
  497. XXM<V >(#P   YU8!8@/   #GE@#B \   .?6 &(#P   Y^3EY.=4Y6  !A1$AX
  498. XXM -=(>0  #G]A  % 4$](> #92'D   Z"80 !,%!/2'@ VTAY   .AF$  2!0
  499. XXM3TAX -U(>0  #HIA  $04$].7DYU3E8  $AX  )(>0  #HY.N0    !03R/ 
  500. XXM     &PH2'D   ZU2'D   Z62'D    H3KD     3^\ #$AX  ).N0    !8
  501. XXM3TAY     $AY0!A& "\Y     $ZY     $_O  Q*@&PH2'D   [>2'D   Z^
  502. XXM2'D    H3KD     3^\ #$AX  ).N0    !83PRY     @    !G*$AY   .
  503. XXM_TAY   .YTAY    *$ZY     $_O  Q(>  "3KD     6$](>  "2'D   \(
  504. XXM3KD     4$\CP     !L*$AY   /+4AY   /$4AY    *$ZY     $_O  Q(
  505. XXM>  "3KD     6$].7DYU3E;_Y$*N__Q![O_H+4C_Y"!N  @0$$B 2,!R0["!
  506. XXM9PYR4["!9Q @;O_D0I!@%"!N_^1R,& &(&[_Y'(.((%2K@ (0J[_^& .4J[_
  507. XXM^ RN    6/_X;"Q(>  #("[_^.> ($#1_   "I@O$"\N  A.N0    !/[P ,
  508. XXM2H!FS'(!+4'__$JN__QF+"\N  A(>0  #U)(>0  #S9(>0   "A.N0    !/
  509. XXM[P 02'@  DZY     %A/(&[_Y" N__CG@") T_P   J<(!$10  $(&[_Y!%N
  510. XXM  \ !2\N_^1(>8 0:P$O.0    !.N0    !/[P ,2H!L+"\N  A(>0  #WU(
  511. XXM>0  #UM(>0   "A.N0    !/[P 02'@  DZY     %A/3EY.=4 H(REV=#$P
  512. XXM,&ME>7,N8R Q+C8@.#8O,#0O,3$@0V]P>7(@,3DX-2!-251212!#;W)P    
  513. XXM  ^(    5P  #XH   !K   /C    "@   ^.    ;   #Y    !M   /D@  
  514. XXM "<   ^4    '@  #Y8    ?   /F    "    ^:    (0  #YP    B   /
  515. XXMG@   ",   ^@    )   #Z(    E   /I    "8   ^F    5@  #Z@    I
  516. XXM   /J@   !,   ^P    *P  #[,   !"   /MP   !T   ^[     0  #[X 
  517. XXM  !A   /P@    ,   _%    &0  #\@    :   /RP   #$   _.    ,P  
  518. XXM#]$   !(   /U    $D   _7    7P  #]H   !O   /W0   !4   _@    
  519. XXM6P  #^0   !<   /Z    %T   _L    <   #_    !Q   /]    '(   _X
  520. XXM    %@  #_L    7   /_@   "T  ! !    +@  $ 0    O   0!P   $0 
  521. XXM ! *    10  $ T   !&   0$    %D  ! 4    !0  $!<    &   0&@  
  522. XXM  @  ! =    "@  $"     ,   0(P    X  ! F    $   $"D    1   0
  523. XXM+    !(  ! O    -0  $#,   !    0-0   %@  ! W    00  $#D    J
  524. XXM   0.P   $T  ! ]    :   $#\   !F   000   $\  !!#    .   $$4 
  525. XXM  !0   01P   %$  !!)    4@  $$L    ]   030   %,  !!/    5   
  526. XXM$%$   !5   04P   &H  !!5    :0  $%<    ^   060   #\  !!;    
  527. XXM-@  $%T    Y   07P   $X  !!A    .@  $&,    \   090   &<  !!G
  528. XXM    -P  $&D   !E   0:P   #L  !!M    9  ;4  ;3U  &U  &T]0   ;
  529. XXM40 ;3U$ &U$ &T]1   ;4@ ;3U( &U( &T]2   W #< &S]W !M/=P  .  X
  530. XXM !L_>  ;3W@  #D .0 ;/WD &T]Y   T #0 &S]T !M/=   -0 U !L_=0 ;
  531. XXM3W4  #8 -@ ;/W8 &T]V   Q #$ &S]Q !M/<0  ,@ R !L_<@ ;3W(  #, 
  532. XXM,P ;/W, &T]S   P #  &S]P !M/<   +@ N !L_;@ ;3VX   T*  T &S]-
  533. XXM !M/30     ;00 ;6T$ &T]!   ;0@ ;6T( &T]"   ;1  ;6T0 &T]$   ;
  534. XXM0P ;6T, &T]#   ;4P ;3U, &U, &T]3   M "T &S]M !M/;0  +  L !L_
  535. XXM;  ;3VP   !R. !R,3  <C$R '(Q-  O9&5V+V9B "5S.B!C;W5L9&XG="!O
  536. XXM<&5N(&9R86UE8G5F9F5R"@!T='EV=#$P,  E<SH@8V]U;&1N)W0@9V5T('1H
  537. XXM92!F8B!S=')U8W0* '1T>79T,3 P %-O<G)Y+"!)(&]N;'D@9&\@4W5N,G,*
  538. XXM '1T>79T,3 P "]D978O:V)D "5S.B!C;W5L9&XG="!O<&5N(&ME>6)O87)D
  539. XXM"@!T='EV=#$P,  E<SH@8V]U;&1N)W0@9FEN9"!@)7,G(&ME>0H ='1Y=G0Q
  540. XXM,#  )7,Z(&-O=6QD;B=T(&1E9FEN92!T:&4@8"5S)R!K97D* '1T>79T,3 P
  541. XXM    )P L "T +@ O #  ,0 R #, -  U #8 -P X #D .P ] &)R96%K &)S
  542. XXM &1E; !E<V, ;#$ ;#$P &PR &PS &PT &PU &PV &PW &PX &PY &QF '(Q
  543. XXM '(Q, !R,3$ <C$R '(Q,P!R,30 <C$U '(R '(S '(T '(U '(V '(W '(X
  544. XXM '(Y ')E= !F,0!F,@!F,P!F- !F-0!F-@!F-P!F. !F.0!T86( 6P!< %T 
  545. XXM8 !A &( 8P!D &4 9@!G &@ :0!J &L ; !M &X ;P!P '$ <@!S '0 =0!V
  546. XXM '< > !Y 'H       X  !Y0    %@  'E     >   84    "H  !Y0    
  547. XXM,@  (U    !    >4    $@  "-0    5@  'E    !>   )4    &P  !Y0
  548. XXM    =   "5    #T   &0    2    9    !*@  !D    $T   &0    3X 
  549. XXM  9    !2   !D    %T   &0    7X   9    !B   !D    &2   &0   
  550. XXM 9P   9    !R   !D    '2   &0    =P   9    !Y@  !D    'P   &
  551. XXM0    AP   9    ")@  !D    (P   &0    CH   9    "1   !D    )P
  552. XXM   &0    GH   9    "A   !D    *.   &0    I@   9    "Q   !D  
  553. XXM  +.   &0    M@   9    "X@  !D    +L   &0    Q@   9    #(@  
  554. XXM!D    ,L   &0    S8   9    #0   !D    -L   &0    W8   9    #
  555. XXM@   !D    .*   &0    Y0   9    #P   !D    /*   &0    ]0   9 
  556. XXM   #W@  !D    /H   &0   !!0   9    $'@  !D    0H   &0   !#( 
  557. XXM  9    $/   !D    1H   &0   !'(   9    $?   !D    2&   &0   
  558. XXM!)    9    $O   !D    3&   &0   !-    9    $V@  !D    3D   &
  559. XXM0   !1    9    %&@  !D    4D   &0   !2X   9    %.   !D    5D
  560. XXM   &0   !6X   9    %>   !D    6"   &0   !8P   9    %N   "U  
  561. XXM  7    &0   !<H   9    %U   !D    7>   &0   !>@   9    %\@  
  562. XXM!D    7\   &0   !AP   9    &)@  !D    8P   &0   !CH   9    &
  563. XXM6@  !D    9D   &0   !FX   9    &>   !D    :8   &0   !J(   9 
  564. XXM   &K   !D    :V   &0   !M8   9    &X   !D    ;J   &0   !O0 
  565. XXM  9    '(   !D    <J   &0   !S0   9    '/@  !D    =(   &0   
  566. XXM!W0   9    '?   !D    >$   &0   !XP   9    'E   !D    >^   &
  567. XXM0   !\8   9    'S@  !D    ?6   &0   !]X   9    'Y@  !D    ?Z
  568. XXM   &0   " H   9    (&@  !D    @J   &0   "$(   9    (2   '%  
  569. XXM  A0   %4   "%@   9    (7@  !D    AD   B4   "&H  !!0   (>   
  570. XXM %    B    74   "(P   50   (D@  #5    B@   &0   "*8   9    (
  571. XXMK   (E    BR   04   ",    !0   (S   %U    C4   &0   "-H   9 
  572. XXM   (X   (E    CF   04   "/0   !0   )    !D    D&   <4   "0X 
  573. XXM !U0   )%@  !D    D<   &0   "2(  ")0   )*   $%    DV    4   
  574. XXM":0   9    )L    5    G.   &0   "=0   9    )V@  (E    G@   0
  575. XXM4   ">X   !0   * @  !D    HB   =4   "B@   U0   *.@  !D    I 
  576. XXM   &0   "D8  ")0   *3   $%    I:    4    #0   9     /   !D  
  577. XXM  !$   &0    $P   9     5   !D    !<   &0    &0   9     ;   
  578. XXM!D    !T   &0    'P   9     A   !D    ",   &0    )0   9     
  579. XXMG   !D    "D   &0    *P   9     M   !D    "\   &0    ,0   9 
  580. XXM    S   !D    #4   &0    -P   9     Y   !D    #L   &0    /0 
  581. XXM  9     _   !D    $$   &0    0P   9    !%   !D    $<   &0   
  582. XXM 20   9    !+   !D    $T   &0    3P   9    !1   !D    %,   &
  583. XXM0    50   9    !7   !D    %D   &0    6P   9    !=   !D    %\
  584. XXM   &0    80   9    !C   !D    &4   &0    9P   9    !I   !D  
  585. XXM  &L   &0    ;0   9    !O   !D    '$   &0    <P   9    !U   
  586. XXM!D    '<   &0    >0   9    ![   !D    'T   &0    ?P   9    "
  587. XXM!   !D    (,   &0    A0   9    "'   !D    (D   &0    BP   9 
  588. XXM   "-   !D    (\   &0    D0   9    "3   !D    )4   &0    EP 
  589. XXM  9    "9   !D    )L   &0    G0   9    "?   !D    *$   &0   
  590. XXM HP   9    "E   !D    *<   &0    J0   9    "K   !D    *T   &
  591. XXM0    KP   9    "Q   !D    +,   &0    M0   9    "W   !D    +D
  592. XXM   &0    NP   9     ! $             "@$             $P4     
  593. XXM  E     ' 8       ID    ) 4       ?N    +@$        $    -0$ 
  594. XXM       $    / $        $    10<       J8    3@$             
  595. XXM70$        $    90$             ;@$        $    =P$         
  596. XXM    ?@$       0     A@$        $    CP$             F $     
  597. XXM   $    G0$        P    I $        $    K@4             O0$ 
  598. XXM       $    R $        $    SP$        8    TP$             
  599. XXMW0$        $    [ $        $    ^ $      !C    !!0$         
  600. XXM   !"P$        $   !#P$            !&0$        $   !'P$     
  601. XXM   $   !*@4       @X   !- $            !.@$            !25]E
  602. XXM>&ET %]S=')N8VUP %]S971?:V5Y %]S8V-S:60 7VEN:71?:V)D %]F8F1E
  603. XXM<P!?:6UA9V4 7V-U<G-R;W< 7VM?8F]A<F0 7V%P<&Q?:V5Y7V%N<VD 7V)O
  604. XXM='1O;0!?;F5W;&EN90!?8W5R<V-O; !?:6]C=&P 7U]S;V)U9@!?<&EX9F]N
  605. XXM= !?9G!R:6YT9@!?=&]P %]M87)K<P!?8VAR=VED=&@ 7W1R86YS;&%T95]K
  606. XXM97D 7W=I;G=I9'1H< !?<FEG:'0 7V9B %]C=7)S7VME>0!?9&5L87EP86EN
  607. XXM=&EN9P!?=VEN:&5I9VAT< !?<F5F;&5C=&EO;G, 7V]P96X 7VMB %]V=#4R
  608. XXM;6]D90!?;&5F= !?8VAR:&5I9VAT %]P<F5P7VMB9 !?7VEO8@!?86QT7VME
  609. XX(>7!A9%\U,@!F
  610. XX 
  611. XXend
  612. @//E*O*F libdir/uu.vt100keys.o//
  613. chmod u=rw,g=rw,o=rw libdir/uu.vt100keys.o
  614.  
  615. echo x - src/ttyvt100.h
  616. sed 's/^XX//' > "src/ttyvt100.h" <<'@//E*O*F src/ttyvt100.h//'
  617. XX/*    @(#)ttyvt100.h 1.8 86/04/13 MITRE    */
  618.  
  619. XX/*
  620. XX * Copyright (c) 1985 by Mitre Corp.
  621. XX */
  622.  
  623. XX/* cursor states */
  624. XX#define NOCURSOR    0
  625. XX#define UNDERCURSOR    1
  626. XX#define BLOCKCURSOR    2
  627.  
  628. XX/* terminal states */
  629. XX#define ALPHA        0    /* normal state reading characters */
  630. XX#define ESCAPE         1    /* plain escape so far */
  631. XX#define ESCBRKT        2    /* CSI; i.e. esc-[ */
  632. XX/* deleted */
  633. XX#define VT52            4    /* emulating vt52 terminal */
  634. XX/* deleted */
  635. XX#define ESCBRKTQM    6    /* now have esc-[? sequence */
  636. XX#define ESCAPESHARP     7    /* now have esc-# sequence */
  637. XX#define ESCAPELPRN      8    /* now have esc-( sequence */
  638. XX#define ESCAPERPRN      9    /* now have esc-) sequence */
  639. XX#define ESC52Y         10    /* in vt52 abs cursor mode sequence */
  640. XX#define EATCHARS       11    /* when at end of line and nowrap */
  641.  
  642. XX#define G0 0            /* grafix states set with esc-( and esc-) */
  643. XX#define G1 1
  644.  
  645. XXunsigned short  marks[24];        /* font type for each line */
  646. XX        
  647. XXunsigned short  reflections[24][132];    /* one for each char in image */
  648.  
  649. XX#define  NUMER5 1        /* vt52 numeric mode for keys */
  650. XX#define  NUMERA 2        /* ansi numeric mode  "   "   */
  651. XX#define  APPL5  3        /* vt52 application mode  */
  652. XX#define  APPLA  4        /* ansi application mode  */
  653.  
  654. XX        /*font handling states for each line  */
  655. XX        /*used for setting marks in line array  */
  656. XX#define  NORMAL_F  0x00        /* standard 80 col mode  */
  657. XX#define  WIDE_F    0x40        /* one of the double wide types */
  658. XX#define  TOP_F     0x01        /* top half of a double height char */
  659. XX#define  BOTTOM_F  0x02        /* bottom half of same */
  660. XX#define  NARROW_F  0x20        /* 132 col mode (66 if wide) */
  661. XX#define  GRAFIX_F  0x04        /* using a graphics font */
  662. XX#define  BUSY      0x80        /* set if any characters have been written */
  663. XX#define  BOLD_F    0x08        /* bold attribute on */
  664. XX#define  SIZE_MASK 0xF0        /* just the width part */
  665. XX#define  TYPE_MASK 0x0F        /* just the font part */
  666. XX#define  HALF_MASK 0x03        /* just top and bottom */
  667.  
  668. XX#define  UK      0        /* special character set pound sign */
  669. XX#define  ASC     1        /* regular ascii character set */
  670. XX#define  GRAPH   2        /* graphics character set */
  671.  
  672. XX#define  BOLD    0x01        /* attributes for fillfunc memory */
  673. XX#define  UNDER   0x02
  674. XX#define  REVERSE 0x04
  675. XX#define  BLINK   0x08
  676.  
  677.  
  678.  
  679. XX#define grafon()  graf_norm = (activeCharset == G1)?((g1 == GRAPH)?GRAPH:ASC)\
  680. XX    :((g0 == GRAPH)?GRAPH:ASC)    /* 1=ASCII, 2=GRAPHIC */
  681.  
  682. XXtypedef int character;
  683. XX#define MAX_SCREEN_WIDTH  132
  684. XX#define    CHAR_BUF_LEN    300
  685. @//E*O*F src/ttyvt100.h//
  686. chmod u=r,g=r,o=r src/ttyvt100.h
  687.  
  688. echo x - src/vt100fonts.c
  689. sed 's/^XX//' > "src/vt100fonts.c" <<'@//E*O*F src/vt100fonts.c//'
  690. XX#ifndef lint
  691. XXstatic    char sccsid[] = "@(#)vt100fonts.c 1.9 86/05/02 Copyr 1985 MITRE Corp";
  692. XX#endif
  693.  
  694. XX/*
  695. XX * Copyright (c) 1985 by MITRE Corporation
  696. XX */
  697.  
  698. XX#include <stdio.h>
  699. XX#include <pixrect/pixrect_hs.h>
  700. XX#include <sunwindow/window_hs.h>
  701. XX#include <signal.h>
  702. XX#include <ctype.h>
  703.  
  704. XX#include <sys/ioctl.h>
  705. XX#include <sun/fbio.h>
  706. XX#include <sundev/kbio.h>
  707. XX#include <sundev/kbd.h>
  708.  
  709. XX#include "ttysw_impl.h"
  710. XX#include "ttyvt100.h"
  711. XX#include "charimage.h"
  712. XX#include "charscreen.h"
  713. XX#define vanillaChar(c)    ((c >= ' ') && (c <= '~'))
  714. XXextern struct pixwin *csr_pixwin;/* This is the ttysw windowfd */
  715. XXextern struct pixfont *pixfont;        /* This is what csr_init uses ???? */
  716. XXextern int chrwidth, underscore;
  717. XXextern pstring(),bold(),nobold();
  718. XXextern int debug,vright,cursrow;
  719. XXextern int fillfunc,bold_norm,graf_norm, g1,g0,full_chrwidth, activeCharset;
  720. XXextern int vtop,vbottom,vleft,vright;
  721.  
  722. XXstruct vtfont {            /* hold vt100 font info */
  723. XX  char fontfile_name[15];    /* name of file in font directory */
  724. XX  struct pixfont * fontfd;    /* handle after pf_open returns, else 0 */
  725. XX  int charwidth;        /* width of this font in pixels */
  726. XX  int line_length;        /* length of vt100 line  */
  727. XX} fonttab[32] = {
  728. XX  "gacha.r.8",        0,    8,    79, /* regular  */
  729. XX  "thin.r.5",        0,    5,    131,/* thin  */
  730. XX  "wide.r.16",        0,    16,    39, /* wide  */
  731. XX  "thinwide.r.10",    0,    10,    65, /* wide big screen */
  732. XX  "widetop.r.16",    0,    16,    39, /* top half */
  733. XX  "thintop.r.10",    0,    10,    65, /* top half big screen */
  734. XX  "widebot.r.16",    0,    16,    39, /* bottom half */
  735. XX  "thinbot.r.10",    0,    10,    65, /* bottom half big screen */
  736. XX  "gacha.g.8",        0,    8,    79, /* start grafix fonts */
  737. XX  "thin.g.5",        0,    5,    131,
  738. XX  "wide.g.16",        0,    16,    39,
  739. XX  "thinwide.g.10",    0,    10,    65,
  740. XX  "widetop.g.16",    0,    16,    39,
  741. XX  "thintop.g.10",    0,    10,    65,
  742. XX  "widebot.g.16",    0,    16,    39,
  743. XX  "thinbot.g.10",    0,    10,    65,
  744. XX  "gacha.b.8",        0,    8,    79, /* start bold fonts */
  745. XX  "thin.b.6",        0,    5,    131,
  746. XX  "wide.b.16",        0,    16,    39,
  747. XX  "thinwide.b.10",    0,    10,    65,
  748. XX  "widetop.b.16",    0,    16,    39,
  749. XX  "thintop.b.10",    0,    10,    65,
  750. XX  "widebot.b.16",    0,    16,    39,
  751. XX  "thinbot.b.10",    0,    10,    65,
  752. XX  "gacha.bg.8",        0,    8,    79, /* start bold & grafix */
  753. XX  "thin.bg.6",        0,    5,    131,
  754. XX  "wide.bg.16",        0,    16,    39,
  755. XX  "thinwide.bg.10",    0,    10,    65,
  756. XX  "widetop.bg.16",    0,    16,    39,
  757. XX  "thintop.bg.10",    0,    10,    65,
  758. XX  "widebot.bg.16",    0,    16,    39,
  759. XX  "thinbot.bg.10",    0,    10,    65
  760. XX  };
  761.  
  762. XX  
  763. XX/* Finds and sets up fonts and flags for rewriting lines */
  764.  
  765. XXfind_font(value)
  766. XXunsigned value;
  767. XX{
  768. XX  unsigned type, attrib;
  769. XX  int  fontindex = 0;
  770. XX#ifdef DEBUG
  771. XXif (debug6) printf ("entered find_font with arg: %x\n",value);
  772. XX#endif
  773. XX  type = value & 0x7F;
  774. XX  attrib = (value & 0xFF00) >> 8;
  775. XX#ifdef DEBUG
  776. XXif(debug5) printf( "type == %x, attrib = %x\n",type, attrib);
  777. XX#endif DEBUG
  778. XX  if(attrib & REVERSE) bold();
  779. XX  else nobold();
  780. XX  if(attrib & UNDER) underscore = 1;
  781. XX  else underscore = 0;
  782. XX  if(type & NARROW_F) fontindex++;
  783. XX  if(type & HALF_MASK )     /* One of the halfs */
  784. XX    fontindex += 4;
  785. XX  else if(type & WIDE_F)
  786. XX    fontindex += 2;
  787. XX  if(type &  BOTTOM_F) fontindex += 2;
  788. XX  if(attrib & BOLD) fontindex += 16;
  789. XX  if(type & GRAFIX_F) fontindex += 8;
  790. XX  lookup_font(fontindex);
  791. XX  return(fontindex);
  792. XX}
  793. XX 
  794.  
  795. XXlookup_font(index)
  796. XX     int index;
  797. XX{
  798. XX  int returncode = 0;        /* means can't open font */
  799. XX  if(fonttab[index].fontfd == 0) /* not open yet */
  800. XX    {
  801. XX      if(fontopen(index) != 0)     returncode = -1;
  802. XX    }
  803. XX  pixfont = fonttab[index].fontfd; /* set up for new font parameters */
  804. XX  chrwidth = fonttab[index].charwidth;
  805. XX  vright = fonttab[index].line_length;
  806. XX/*  vsetlinelength(image[cursrow], vright);*/
  807. XX  return(returncode);
  808. XX}
  809.  
  810. XXchar*  main_font_directory;
  811.  
  812. XXfontopen(index)
  813. XX     int index;
  814. XX{
  815. XX  char  *p, fullname[60];
  816. XX  int debug = 1;
  817. XX  main_font_directory = getenv ("VTFONTS");
  818. XX  strcpy(fullname, main_font_directory);
  819. XX  strcat(fullname,"/");
  820. XX  strcat(fullname,fonttab[index].fontfile_name);
  821. XX  if((fonttab[index].fontfd = pf_open(fullname)) == NULL)
  822. XX    {
  823. XX      if(debug) printf("can't open %s font \n",fonttab[index].fontfile_name);
  824. XX      return(-1);
  825. XX    }
  826. XX  return(0);
  827. XX}
  828.  
  829. XXset_font(value)
  830. XXint  value;
  831. XX{
  832. XX  int type;
  833. XX  grafon();
  834. XX  bold_norm = (fillfunc & BOLD) ? 1 : 0;
  835. XX  if(bold_norm == 1) marks[cursrow] |= BOLD_F;
  836. XX  else marks[cursrow] &= ~BOLD_F;
  837. XX  if(graf_norm == 2) marks[cursrow] |= GRAFIX_F;
  838. XX  else marks[cursrow] &= ~GRAFIX_F;
  839. XX  type = marks[cursrow];
  840. XX  type |= (fillfunc << 8);
  841. XX  find_font( type);
  842.  
  843. XX}
  844. XX/* This routine will watch the line font marks as we go to another row*/
  845. XX/* and change fonts, calling rewrite if necessary */
  846. XX/* Hopefully mostly simple cases where no font changes are  */
  847. XX/* required. Next best case is where no wide or double chars are */
  848. XX/* involved where we just change to correct font. Worst case is doubles. */
  849. XX/* where we call rewrite() to possibly rewrite entire line in "new" font.*/
  850.  
  851. XXcheck_marks(now, was)
  852. XXint now, was;
  853. XX{
  854. XX  int type;
  855.  
  856. XX#ifdef DEBUG
  857. XX  if(debug4) printf("entering check_marks with marks %x, %x  \n",marks[was],marks[now]);
  858. XX#endif
  859.  
  860. XX  if((marks[now]& ~BUSY) == (marks[was] & ~BUSY)) return;
  861. XX  if(graf_norm == 2) marks[now] |= GRAFIX_F;
  862. XX  else marks[now] &= ~GRAFIX_F;
  863. XX  type = marks[now] + ((fillfunc & 0xFF) << 8);
  864. XX  find_font( type);
  865. XX  return;
  866. XX}
  867.  
  868. XXrewrite (row)            /* if a double is called after line */
  869. XXint row;            /* has been written  */
  870.  
  871. XX{
  872. XX  char  save_image[133], chp[133];
  873. XX  char *chpp, *imagep;
  874. XX  int savecol,l, i,k, ochrwidth, olinelength, opixfont;
  875. XX  short type, save_graf,save_bold,save_attrib;
  876. XX  if(marks[row] & BUSY == 0) {        /* nothing in the line yet */
  877. XX    set_font(5);
  878. XX    return;
  879. XX  }
  880. XX  /* see long comment below for reason why we save these here */
  881. XX  set_font(5);
  882. XX  save_attrib = fillfunc;
  883. XX  save_graf = graf_norm;
  884. XX  save_bold = bold_norm;
  885. XX  savecol = curscol;
  886. XX  strncpy(save_image,image[row],132); 
  887. XX#ifdef DEBUG
  888. XXif(debug7) printf("IMAGE %d:%s \n",row, image[row]);
  889. XX#endif
  890. XX  opixfont = (int) pixfont;    /* remember font parameters */
  891. XX  olinelength = vright;
  892. XX  ochrwidth = chrwidth;
  893. XX  lookup_font(0);        /* use standard font to blank line */
  894. XX  pclearline(0,79,row);        /* clear out the old text */
  895. XX  pixfont = (struct pixfont *) opixfont; /* reset font stuff */
  896. XX  chrwidth = ochrwidth;
  897. XX  vright = olinelength;
  898. XX#ifdef DEBUG
  899. XXif(debug5) printf("rewrite row with %x font marks\n", marks[row]);
  900. XX#endif
  901. XX  chpp = &chp[0];
  902. XX  imagep = &save_image[0];
  903. XX  for (i = 0, k = 0; *imagep ;i++ )
  904. XX    {
  905. XX      *chpp++ = *imagep++;
  906. XX      if(reflections[row][i] != reflections[row][i+1])
  907. XX    {
  908. XX      *chpp = '\0';
  909. XX      find_font(reflections[row][k]);
  910. XX      curscol = k;
  911. XX      writePartialLine(&chp[0], k);
  912. XX      chpp = &chp[0];
  913. XX      k = i + 1;
  914. XX    }
  915. XX    }
  916. XX  *chpp = '\0';
  917. XX  find_font(reflections[row][k]);
  918. XX  curscol = k;
  919. XX  writePartialLine(&chp[0], k);
  920. XX  vsetlinelength(image[row], i);
  921.  
  922.  
  923.  
  924. XX  /* ********************************************************* */
  925. XX  /* Since the attributes and graphics mode may have been set */
  926. XX  /* after the text which we have just rewritten was originally */
  927. XX  /* written, we have to save and restore them before and after */
  928. XX  /* rewriting the line and we must also reset the font from those */
  929. XX  /* parameters........................*/
  930. XX  /* ************************************************************** */
  931. XX  curscol = savecol;        /* restore current flags and column */
  932. XX  graf_norm = save_graf;
  933. XX  fillfunc = save_attrib;
  934. XX  bold_norm = save_bold;
  935. XX  if(graf_norm == 2) marks[cursrow] |= GRAFIX_F;
  936. XX  else marks[cursrow] &= ~GRAFIX_F;
  937. XX  type = marks[cursrow] + ((fillfunc & 0xFF) << 8);
  938. XX  find_font(type);        /* and put font right for where we are */
  939. XX#ifdef DEBUG
  940. XXif(debug7) printf("image %d:%s \n",row,image[row]);
  941. XX#endif
  942. XX                
  943. XX}
  944.  
  945. XXresquirt(row)
  946. XX     int row;
  947. XX{
  948. XX  char * chpp, *imagep;
  949. XX  char chp[133],save_image[133];
  950. XX  int i, k;
  951. XX  strncpy(save_image,image[row],133); 
  952. XX  chpp = &chp[0];
  953. XX  imagep = &save_image[0];
  954. XX  for (i = 0, k = 0; *imagep ;i++ )
  955. XX    {
  956. XX      *chpp++ = *imagep++;
  957. XX      if(reflections[row][i] != reflections[row][i+1])
  958. XX    {
  959. XX      *chpp = '\0';
  960. XX      find_font(reflections[row][k]);
  961. XX      curscol = k;
  962. XX      writePartialLine(&chp[0], k);
  963. XX      chpp = &chp[0];
  964. XX      k = i + 1;
  965. XX    }
  966. XX    }
  967. XX  *chpp = '\0';
  968. XX  find_font(reflections[row][k]);
  969. XX  curscol = k;
  970. XX  writePartialLine(&chp[0], k);
  971. XX  vsetlinelength(image[row], i);
  972. XX}
  973. @//E*O*F src/vt100fonts.c//
  974. chmod u=r,g=r,o=r src/vt100fonts.c
  975.  
  976. echo x - vconfig.h
  977. sed 's/^XX//' > "vconfig.h" <<'@//E*O*F vconfig.h//'
  978. XX/* Copyright MITRE Corp. */
  979.  
  980. XX#define  MAIN_FONT_DIR         "/usr/local/lib/fonts/vtfonts"
  981.  
  982. XX/* This structure holds the array of labels for the Pf keys on the
  983. XX   vt100 panel. It is best not to try to add or subtract from the
  984. XX   structure. The labels themselves can be easily changed in the
  985. XX   array "keys" which follows. Just keep them to 6 chars in length.
  986. XX*/
  987.  
  988. XXstruct key_labels {
  989. XX  caddr_t button_handle;
  990. XX  char norm_label[6];
  991. XX  char mred_label[6];
  992. XX  char ibm_label[6];
  993. XX  char wd11_label[6];
  994. XX  char emacs_label[6];
  995. XX};
  996.  
  997. XX/* These are the labels which appear on the PF keys when the mouse
  998. XX   clicks the label choice item (looks better in a wide window) */
  999. XXstruct key_labels keys[23] = {
  1000. XX  0,    "",    "",             "",        "",            "",                        /* dummy     */
  1001. XX  0,    "1",    "-line",    "10",           "back",          "",                        /* 1 key = 1 */
  1002. XX  0,    "2",    "v",        "11",           "line",          "",                        /* 2 key = 2*/     
  1003. XX  0,    "3",    "-page",    "12",           "uppr",          "",                        /* 3 key = 3 */    
  1004. XX  0,    "4",    "<--",        "7",            "word",          "",                        /* 4 key = 4 */    
  1005. XX  0,    "5",    "home",        "8",            "para",          "",                        /* 5 key = 5 */    
  1006. XX  0,    "6",    "-->",        "9",            "bold",          "",                        /* 6 key = 6 */    
  1007. XX  0,    "7",    "+line",    "4",            "< >",           "",                        /* 7 key = 7 */    
  1008. XX  0,    "8",    "^",        "5",            "tabp",          "",                        /* 8 key = 8 */    
  1009. XX  0,    "9",    "+page",    "6",            "under",         "",                        /* 9 key = 9 */    
  1010. XX  0,    "0",    "rplcw",    "pf+12",        "advan",         "",                /* 0 key = 10 */  
  1011. XX  0,    "PF1",    "pick",        "1",            "gold",          "",                        /* PF1 key = 11 */ 
  1012. XX  0,    "PF2",    "put",        "2",            "page",          "",                        /* PF2 key = 12 */ 
  1013. XX  0,    "PF3",    "-tabw",    "3",            "sent",          "",                        /* PF3 key = 13 */ 
  1014. XX  0,    "PF4",    "+tabw",    "PA1",          "  ",            "",                /* PF4 key = 14 */
  1015. XX  0,    "-",    "+srch",    "PA2",          "aftwd",         "",                        /* - key = 15 */   
  1016. XX  0,    ",",    "-srch",    "PA3",          "phras",         "",                        /* , key = 16 */   
  1017. XX  0,    "enter","goto",        "clear",        "swap",          "",                /* enter key = 17 */
  1018. XX  0,    ".",    "use",        "insrt",        "selct",         "",                /* . key = 18 */  
  1019. XX  0,    "^",    "open",        "^",            "ruler",         "",                        /* up key = 19 */  
  1020. XX  0,    "-->",    "close",    "-->",          "cut",           "",                        /* right key = 20 */
  1021. XX  0,    "v",    "fill",        "v",            "delte",         "",                        /* down key = 21 */
  1022. XX  0,    "<--",    "tmpin",    "<--",          "paste",         ""                /* left key = 22 */
  1023. XX};
  1024. @//E*O*F vconfig.h//
  1025. chmod u=r,g=r,o=r vconfig.h
  1026.  
  1027. echo x - vt100tool.1
  1028. sed 's/^XX//' > "vt100tool.1" <<'@//E*O*F vt100tool.1//'
  1029. XX.\" @(#)vt100tool.1 1.9 86/04/15 MITRE Corp; from UCB 4.2
  1030. XX.TH VT100TOOL 1 "15 APRIL 1986"
  1031. XX.SH NAME
  1032. XXvt100tool \- Dec VT100 terminal emulator tool
  1033. XX.SH SYNOPSIS
  1034. XX.B vt100tool
  1035. XX.SH DESCRIPTION
  1036. XX.LP
  1037. XX\fBvt100tool\fR emulates a DEC VT100 terminal with a  graphic
  1038. XXmodule.  It does this in much the same way as
  1039. XXshelltool (see
  1040. XX.IR suntools (1))
  1041. XXemulates a regular glass tty.
  1042. XXWhen \fBvt100tool\fR is invoked, a  shell is started up,
  1043. XXits output and input are connected to the emulator, and a new
  1044. XXwindow is formed.  The window is run  as a job from the calling window.
  1045. XXWhen the emulator is running the function keys take on the same
  1046. XXsignificance as VT100 function keys and keypad. Buttons R1-R15 
  1047. XXare the VT100 buttons:
  1048. XX.LP
  1049. XX PF1,PF2,PF3,7,8,9,4,5,6,1,2,3,0,.,Enter 
  1050. XX.LP
  1051. XXfrom
  1052. XXthe keypad. Buttons F3-F6 are the arrow keys: Up, Down, Left, and
  1053. XXRight, respectively, and F7-F9 are PF4,-,and  ",".
  1054. XXIt should be noted that these are only the markings on the keys. The
  1055. XXcontrol codes sent to the host are as described in the VT100 manual
  1056. XXand change depending on the setting of certain mode flags.
  1057. XX.LP
  1058. XXEvery effort has been made to make the emulator as faithful to the 
  1059. XXVT100 as the Sun Workstation will allow. Exceptions are listed at the end 
  1060. XXof this page. All sizes of characters are handled: regular, double and 
  1061. XXdouble-height and width as well as 132 character screen and all these
  1062. XXsizes scaled down to the small type of the 132 character screen. All
  1063. XXvt100 attributes are also handled: bold, reverse video. (I don't know how
  1064. XXto do blink on a Sun.) The emulator assumes that the graphics option
  1065. XXis installed and the graphics is activated by the \fBEscape-)\fR and 
  1066. XX\fBEscape-(\fR sequences as on a vt100. Vt52 mode is also handled correctly.
  1067. XX.LP
  1068. XXThe Setup panel at the bottom of the window can be used to alter certain
  1069. XXvt100 modes. (All have not been allowed as yet.) The 
  1070. XX.IR local/on-line, wrap,and newline modes 
  1071. XXcan be altered from the panel. Clicking the mouse on the 
  1072. XX.IR Setup Button
  1073. XXshows the options and clicking on an option changes the mode
  1074. XXin the emulator. The 
  1075. XX.IR answerback 
  1076. XXmessage can be set from the Setup Panel
  1077. XXby typing it into the line containing the Sun caret. Only 20 characters
  1078. XXare allowed in the 
  1079. XX.IR answerback 
  1080. XXmessage as in the VT100.
  1081. XX.LP
  1082. XXThere is also a keyboard on the panel, which is obtained by clicking
  1083. XXthe mouse on the 
  1084. XX.IR Keyboard
  1085. XXlabel. This displays a keypad and a set of arrow keys as on a vt100.
  1086. XXThese perform the exact same action as the actual Sun-2 keyboard keys
  1087. XXwhen in the emulator, but they can be labelled on the panel as the
  1088. XXuser prefers. The current set of labels are for a vanilla vt100, a
  1089. XXDECMATE or Word-11 keypad, a version of the Rand editor called MRED
  1090. XXand an IBM 3270 emulator on a vt100. The labels will change as the
  1091. XXmouse is clicked on the appropriate label. 
  1092. XX.LP
  1093. XXTyping control-D to vt100tool causes it to die. 
  1094. XX.SH CAVEATS
  1095. XXLike all VT100 emulators, this probably doesn't duplicate every nuance of the
  1096. XXVT100.  In cases where the Sun environment prevents emulation of a feature
  1097. XXthen some reasonable thing is done on receipt of the escape code 
  1098. XXrequesting the feature. Generally, this is to ignore it. (Xon-Xoff is an
  1099. XXexample of this). 
  1100. XX.LP
  1101. XXThe vt100tool window may be treated just like other windows; it can be overlaid,
  1102. XXmoved, reshaped etc.
  1103. XXHowever, when the window is reshaped, the contents will not scale.
  1104. XX.LP
  1105. XX.SH FILES
  1106. XX../vtfonts/*
  1107. XX.SH "SEE ALSO"
  1108. XXsuntools(1)
  1109. XX.br
  1110. XXDigital VT100  Computer Display Terminal User's Manual
  1111. XX.SH BUGS
  1112. XX.IP (1)
  1113. XXOnly wrap, newline, answerback, local are altered by the Setup Panel even
  1114. XXthough other features appear there.
  1115. XX.IP (2)
  1116. XXThe fonts need help. There are probably some minor glitches here and
  1117. XXthere. They had to be created with fonttool which has a few problems
  1118. XXof its own.
  1119. XX.IP (3)
  1120. XXFull reverse screen is erratic. This seems to be caused by a "feature" deep
  1121. XXdown in the Sun code which resets the reverse video automatically. I
  1122. XXwill try to fix this if I have time and if anyone cares. 
  1123. XX.IP (4)
  1124. XXSmooth scroll does not work.
  1125. XX.IP (5)
  1126. XXYou tell me. <Ed Lafferty, MITRE Corp, ell@mitre-bedford.ARPA,
  1127. XXell@linus.UUCP>
  1128.  
  1129.  
  1130.  
  1131.  
  1132. @//E*O*F vt100tool.1//
  1133. chmod u=rw,g=r,o=r vt100tool.1
  1134.  
  1135. echo Inspecting for damage in transit...
  1136. temp=/tmp/sharin$$; dtemp=/tmp/sharout$$
  1137. trap "rm -f $temp $dtemp; exit" 0 1 2 3 15
  1138. cat > $temp <<\!!!
  1139.      417    3898   25667 uu.ttyvt100.o
  1140.      161    1716    9776 uu.vt100keys.o
  1141.       68     396    2378 ttyvt100.h
  1142.      283    1094    8036 vt100fonts.c
  1143.       46     380    2860 vconfig.h
  1144.      103     710    4083 vt100tool.1
  1145.     1078    8194   52800 total
  1146. !!!
  1147. wc  libdir/uu.ttyvt100.o libdir/uu.vt100keys.o src/ttyvt100.h src/vt100fonts.c vconfig.h vt100tool.1 | sed 's=[^ ]*/==' | diff -b $temp - >$dtemp
  1148. if test -s $dtemp
  1149. then echo "Ouch [diff of wc output]:" ; cat $dtemp
  1150. else echo "No problems found."
  1151. fi
  1152. exit 0
  1153.